package com.shujia.day13;

public class Demo02Thread {
    public static void main(String[] args) {
        /*
            TODO 构建多线程模式
                方式1: 自定义类继承 Tread类并重写其run方法
                        在run方法中定义当前线程需要完成的任务逻辑
         */
        /*
            TODO 多线程的调用
                1.构建对象,并直接使用其run方法运行  => 单线程运行
                       对于多线程的实现,不能直接使用run方法执行
                2.构建对象,使用start方法进行运行 => 多线程
                        在底层会自动启动run方法,而不是在main主线程中运行run方法
         */
        MyThread myThread = new MyThread();
//        System.out.println("run方法没有启动...");
//        myThread.run();
//        System.out.println("run方法启动完成...");

        // start
        System.out.println("run方法没有启动...");
        myThread.start(); // 启动一个新的线程用于执行当前线程对象中的run方法
        System.out.println("run方法启动完成...");
    }
}

// public class Thread 是一个具体的类 没有抽象方法
class MyThread extends Thread{
    @Override
    public void run() {
        for (int i = 0; i < 100; i++) {
            try {
                Thread.sleep(100);
            } catch (InterruptedException e) {
                throw new RuntimeException(e);
            }
            System.out.println("这是创建的一个新线程,定义了其中的run方法...");
        }
    }
}


